Full source code giải đố hình đơn giản
16.635 lượt xem;
- GameFinished.cs
- Puzzle Game Controller /
- Scripts /
- Assets /
- project /
1 using System.Collections;
2 using System.Collections.Generic;
3 using UnityEngine;
4
5 public class GameFinished : MonoBehaviour {
6
7 [SerializeField]
8 private GameObject gameFinishedPanel;
9
10 [SerializeField]
11 private Animator gameFinishedAnim, star1Anim, star2Anim, star3Anim, textAnim;
12
13
14
15
16 public void ShowGameFinishedPanel(int stars)
17 {
18 StartCoroutine(ShowPanel(stars));
19 }
20
21 public void HideGameFinishedPanel()
22 {
23 if (gameFinishedPanel.activeInHierarchy)
24 {
25 StartCoroutine(HidePanel());
26 }
27 }
28
29 IEnumerator ShowPanel(int stars)
30 {
31 gameFinishedPanel.SetActive(true);
32
33 gameFinishedAnim.Play("FadeIn");
34
35 yield return new WaitForSeconds(1.7f);
36
37
38 switch (stars)
39 {
40 case 1:
41
42 star1Anim.Play("FadeIn");
43
44 yield return new WaitForSeconds(0.5f);
45
46 textAnim.Play("FadeIn");
47
48 break;
49
50 case 2:
51
52 star1Anim.Play("FadeIn");
53
54 yield return new WaitForSeconds(0.5f);
55
56 star2Anim.Play("FadeIn");
57
58 yield return new WaitForSeconds(0.5f);
59
60 textAnim.Play("FadeIn");
61
62 break;
63
64 case 3:
65
66 star1Anim.Play("FadeIn");
67
68 yield return new WaitForSeconds(0.5f);
69
70 star2Anim.Play("FadeIn");
71
72 yield return new WaitForSeconds(0.5f);
73
74 star3Anim.Play("FadeIn");
75
76 yield return new WaitForSeconds(0.5f);
77
78 textAnim.Play("FadeIn");
79
80 break;
81
82
83 }
84 }
85
86 IEnumerator HidePanel()
87 {
88 gameFinishedAnim.Play("FadeOut");
89
90 star1Anim.Play("FadeOut");
91 star2Anim.Play("FadeOut");
92 star3Anim.Play("FadeOut");
93 textAnim.Play("FadeOut");
94
95 yield return new WaitForSeconds(1.5f);
96
97
98 gameFinishedPanel.SetActive(false);
99 }
100 }
2 using System.Collections.Generic;
3 using UnityEngine;
4
5 public class GameFinished : MonoBehaviour {
6
7 [SerializeField]
8 private GameObject gameFinishedPanel;
9
10 [SerializeField]
11 private Animator gameFinishedAnim, star1Anim, star2Anim, star3Anim, textAnim;
12
13
14
15
16 public void ShowGameFinishedPanel(int stars)
17 {
18 StartCoroutine(ShowPanel(stars));
19 }
20
21 public void HideGameFinishedPanel()
22 {
23 if (gameFinishedPanel.activeInHierarchy)
24 {
25 StartCoroutine(HidePanel());
26 }
27 }
28
29 IEnumerator ShowPanel(int stars)
30 {
31 gameFinishedPanel.SetActive(true);
32
33 gameFinishedAnim.Play("FadeIn");
34
35 yield return new WaitForSeconds(1.7f);
36
37
38 switch (stars)
39 {
40 case 1:
41
42 star1Anim.Play("FadeIn");
43
44 yield return new WaitForSeconds(0.5f);
45
46 textAnim.Play("FadeIn");
47
48 break;
49
50 case 2:
51
52 star1Anim.Play("FadeIn");
53
54 yield return new WaitForSeconds(0.5f);
55
56 star2Anim.Play("FadeIn");
57
58 yield return new WaitForSeconds(0.5f);
59
60 textAnim.Play("FadeIn");
61
62 break;
63
64 case 3:
65
66 star1Anim.Play("FadeIn");
67
68 yield return new WaitForSeconds(0.5f);
69
70 star2Anim.Play("FadeIn");
71
72 yield return new WaitForSeconds(0.5f);
73
74 star3Anim.Play("FadeIn");
75
76 yield return new WaitForSeconds(0.5f);
77
78 textAnim.Play("FadeIn");
79
80 break;
81
82
83 }
84 }
85
86 IEnumerator HidePanel()
87 {
88 gameFinishedAnim.Play("FadeOut");
89
90 star1Anim.Play("FadeOut");
91 star2Anim.Play("FadeOut");
92 star3Anim.Play("FadeOut");
93 textAnim.Play("FadeOut");
94
95 yield return new WaitForSeconds(1.5f);
96
97
98 gameFinishedPanel.SetActive(false);
99 }
100 }